package main

import "fmt"
var y  = 0
func main() {
	const (
		a = iota
		b
		c
	)
	const (
		d = iota
		e
	)
	x := 0

	increment := func() (int, int,int, int, int, int) {
		x++
		y++
		return x, y, a, b, c, d
	}
	fmt.Println(increment())
	fmt.Println(increment())
	fmt.Println("匿名函数修改变量：",x,y) //匿名函数的外层函数的变量是可以访问到的
	fmt.Println("======================")
	//////////////////
	z := 0
	y = 0
	plus(&y) //值传递函数变量仅作用与函数内部
	plus(&z)
	fmt.Println(y,z)
	fmt.Println("======================")
	plusPub() //修改全局变量
	fmt.Println(y)
}
func plus(x *int)  {
	*x++
	fmt.Println(x)
}
func plusPub()  {
	y++
	fmt.Println(y)
}